{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# python相关岗位数据分析可视化项目介绍\n",
    "### 项目人：宋晓婷\n",
    "### 时间：2022/06/28\n",
    "### 数据源：\n",
    "> [51job招聘网站](https://www.51job.com/?from=360pz)\n",
    "### 目标：\n",
    "- 分析招聘网站上python相关岗位的各省平均月薪情况、岗位数量、学历情况、福利待遇以及岗位描述等情况\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "from pyecharts import options as opts\n",
    "from pyecharts.charts import Map, EffectScatter, HeatMap, Line,Grid,Geo\n",
    "from pyecharts.faker import Faker\n",
    "from pyecharts.globals import SymbolType\n",
    "from pyecharts.charts import Pie,Bar,Pie,WordCloud\n",
    "import random\n",
    "from calendar import c\n",
    "from tkinter import Grid\n",
    "from pyecharts.commons.utils import JsCode\n",
    "import re\n",
    "import collections\n",
    "import jieba"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>省</th>\n",
       "      <th>数量</th>\n",
       "      <th>平均月薪</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>河北</td>\n",
       "      <td>60</td>\n",
       "      <td>7164.08</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>贵州</td>\n",
       "      <td>60</td>\n",
       "      <td>7677.03</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>河南</td>\n",
       "      <td>477</td>\n",
       "      <td>8641.82</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>黑龙江</td>\n",
       "      <td>60</td>\n",
       "      <td>8908.62</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>重庆</td>\n",
       "      <td>179</td>\n",
       "      <td>9206.71</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>山西</td>\n",
       "      <td>60</td>\n",
       "      <td>9425.43</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>陕西</td>\n",
       "      <td>417</td>\n",
       "      <td>9510.15</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>天津</td>\n",
       "      <td>355</td>\n",
       "      <td>9533.90</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>吉林</td>\n",
       "      <td>78</td>\n",
       "      <td>9567.95</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>江西</td>\n",
       "      <td>60</td>\n",
       "      <td>9652.87</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>吉林</td>\n",
       "      <td>88</td>\n",
       "      <td>9665.12</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>山东</td>\n",
       "      <td>360</td>\n",
       "      <td>9804.91</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>湖南</td>\n",
       "      <td>239</td>\n",
       "      <td>9955.12</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>安徽</td>\n",
       "      <td>236</td>\n",
       "      <td>10445.66</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>辽宁</td>\n",
       "      <td>227</td>\n",
       "      <td>10516.51</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>四川</td>\n",
       "      <td>985</td>\n",
       "      <td>10308.28</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>福建</td>\n",
       "      <td>359</td>\n",
       "      <td>10777.85</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>江苏</td>\n",
       "      <td>450</td>\n",
       "      <td>10859.23</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>湖北</td>\n",
       "      <td>412</td>\n",
       "      <td>10896.49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>南京</td>\n",
       "      <td>701</td>\n",
       "      <td>12632.53</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>浙江</td>\n",
       "      <td>1244</td>\n",
       "      <td>14154.95</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>广东</td>\n",
       "      <td>3164</td>\n",
       "      <td>14583.24</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>上海</td>\n",
       "      <td>3114</td>\n",
       "      <td>16395.90</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>北京</td>\n",
       "      <td>4924</td>\n",
       "      <td>17096.07</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "      省    数量      平均月薪\n",
       "0    河北    60   7164.08\n",
       "1    贵州    60   7677.03\n",
       "2    河南   477   8641.82\n",
       "3   黑龙江    60   8908.62\n",
       "4    重庆   179   9206.71\n",
       "5    山西    60   9425.43\n",
       "6    陕西   417   9510.15\n",
       "7    天津   355   9533.90\n",
       "8    吉林    78   9567.95\n",
       "9    江西    60   9652.87\n",
       "10   吉林    88   9665.12\n",
       "11   山东   360   9804.91\n",
       "12   湖南   239   9955.12\n",
       "13   安徽   236  10445.66\n",
       "14   辽宁   227  10516.51\n",
       "15   四川   985  10308.28\n",
       "16   福建   359  10777.85\n",
       "17   江苏   450  10859.23\n",
       "18   湖北   412  10896.49\n",
       "19   南京   701  12632.53\n",
       "20   浙江  1244  14154.95\n",
       "21   广东  3164  14583.24\n",
       "22   上海  3114  16395.90\n",
       "23   北京  4924  17096.07"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = pd.read_csv('data1.csv')\n",
    "df"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 各省岗位与平均月薪对比图——地图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "<script>\n",
       "    require.config({\n",
       "        paths: {\n",
       "            'echarts':'https://assets.pyecharts.org/assets/echarts.min', 'china':'https://assets.pyecharts.org/assets/maps/china'\n",
       "        }\n",
       "    });\n",
       "</script>\n",
       "\n",
       "        <div id=\"8344b6b28ea24d139b0cc5f511b23bca\" style=\"width:900px; height:500px;\"></div>\n",
       "\n",
       "<script>\n",
       "        require(['echarts', 'china'], function(echarts) {\n",
       "                var chart_8344b6b28ea24d139b0cc5f511b23bca = echarts.init(\n",
       "                    document.getElementById('8344b6b28ea24d139b0cc5f511b23bca'), 'white', {renderer: 'canvas'});\n",
       "                var option_8344b6b28ea24d139b0cc5f511b23bca = {\n",
       "    \"animation\": true,\n",
       "    \"animationThreshold\": 2000,\n",
       "    \"animationDuration\": 1000,\n",
       "    \"animationEasing\": \"cubicOut\",\n",
       "    \"animationDelay\": 0,\n",
       "    \"animationDurationUpdate\": 300,\n",
       "    \"animationEasingUpdate\": \"cubicOut\",\n",
       "    \"animationDelayUpdate\": 0,\n",
       "    \"color\": [\n",
       "        \"#c23531\",\n",
       "        \"#2f4554\",\n",
       "        \"#61a0a8\",\n",
       "        \"#d48265\",\n",
       "        \"#749f83\",\n",
       "        \"#ca8622\",\n",
       "        \"#bda29a\",\n",
       "        \"#6e7074\",\n",
       "        \"#546570\",\n",
       "        \"#c4ccd3\",\n",
       "        \"#f05b72\",\n",
       "        \"#ef5b9c\",\n",
       "        \"#f47920\",\n",
       "        \"#905a3d\",\n",
       "        \"#fab27b\",\n",
       "        \"#2a5caa\",\n",
       "        \"#444693\",\n",
       "        \"#726930\",\n",
       "        \"#b2d235\",\n",
       "        \"#6d8346\",\n",
       "        \"#ac6767\",\n",
       "        \"#1d953f\",\n",
       "        \"#6950a1\",\n",
       "        \"#918597\"\n",
       "    ],\n",
       "    \"series\": [\n",
       "        {\n",
       "            \"type\": \"map\",\n",
       "            \"name\": \"\\u5e73\\u5747\\u6708\\u85aa\",\n",
       "            \"label\": {\n",
       "                \"show\": true,\n",
       "                \"position\": \"top\",\n",
       "                \"margin\": 8\n",
       "            },\n",
       "            \"mapType\": \"china\",\n",
       "            \"data\": [\n",
       "                {\n",
       "                    \"name\": \"\\u6cb3\\u5317\",\n",
       "                    \"value\": 7164.08\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u8d35\\u5dde\",\n",
       "                    \"value\": 7677.03\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6cb3\\u5357\",\n",
       "                    \"value\": 8641.82\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u9ed1\\u9f99\\u6c5f\",\n",
       "                    \"value\": 8908.62\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u91cd\\u5e86\",\n",
       "                    \"value\": 9206.71\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5c71\\u897f\",\n",
       "                    \"value\": 9425.43\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u9655\\u897f\",\n",
       "                    \"value\": 9510.15\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5929\\u6d25\",\n",
       "                    \"value\": 9533.9\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5409\\u6797\",\n",
       "                    \"value\": 9567.95\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6c5f\\u897f\",\n",
       "                    \"value\": 9652.87\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5409\\u6797\",\n",
       "                    \"value\": 9665.12\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5c71\\u4e1c\",\n",
       "                    \"value\": 9804.91\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6e56\\u5357\",\n",
       "                    \"value\": 9955.12\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5b89\\u5fbd\",\n",
       "                    \"value\": 10445.66\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u8fbd\\u5b81\",\n",
       "                    \"value\": 10516.51\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u56db\\u5ddd\",\n",
       "                    \"value\": 10308.28\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u798f\\u5efa\",\n",
       "                    \"value\": 10777.85\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6c5f\\u82cf\",\n",
       "                    \"value\": 10859.23\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6e56\\u5317\",\n",
       "                    \"value\": 10896.49\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5357\\u4eac\",\n",
       "                    \"value\": 12632.53\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6d59\\u6c5f\",\n",
       "                    \"value\": 14154.95\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5e7f\\u4e1c\",\n",
       "                    \"value\": 14583.24\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u4e0a\\u6d77\",\n",
       "                    \"value\": 16395.9\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5317\\u4eac\",\n",
       "                    \"value\": 17096.07\n",
       "                }\n",
       "            ],\n",
       "            \"roam\": true,\n",
       "            \"aspectScale\": 0.75,\n",
       "            \"nameProperty\": \"name\",\n",
       "            \"selectedMode\": false,\n",
       "            \"zoom\": 1,\n",
       "            \"mapValueCalculation\": \"sum\",\n",
       "            \"showLegendSymbol\": true,\n",
       "            \"emphasis\": {}\n",
       "        }\n",
       "    ],\n",
       "    \"legend\": [\n",
       "        {\n",
       "            \"data\": [\n",
       "                \"\\u5e73\\u5747\\u6708\\u85aa\"\n",
       "            ],\n",
       "            \"selected\": {\n",
       "                \"\\u5e73\\u5747\\u6708\\u85aa\": true\n",
       "            },\n",
       "            \"show\": true,\n",
       "            \"padding\": 5,\n",
       "            \"itemGap\": 10,\n",
       "            \"itemWidth\": 25,\n",
       "            \"itemHeight\": 14\n",
       "        }\n",
       "    ],\n",
       "    \"tooltip\": {\n",
       "        \"show\": true,\n",
       "        \"trigger\": \"item\",\n",
       "        \"triggerOn\": \"mousemove|click\",\n",
       "        \"axisPointer\": {\n",
       "            \"type\": \"line\"\n",
       "        },\n",
       "        \"showContent\": true,\n",
       "        \"alwaysShowContent\": false,\n",
       "        \"showDelay\": 0,\n",
       "        \"hideDelay\": 100,\n",
       "        \"textStyle\": {\n",
       "            \"fontSize\": 14\n",
       "        },\n",
       "        \"borderWidth\": 0,\n",
       "        \"padding\": 5\n",
       "    },\n",
       "    \"title\": [\n",
       "        {\n",
       "            \"text\": \"\\u5404\\u7701python\\u76f8\\u5173\\u5c97\\u4f4d\\u5e73\\u5747\\u6708\\u85aa\",\n",
       "            \"subtext\": \"\\u5e73\\u5747\\u6708\\u85aa\\u524d\\u56db\\u4f4d\\u5206\\u522b\\u662f\\u5409\\u6797\\u3001\\u5317\\u4eac\\u3001\\u4e0a\\u6d77\\u3001\\u5e7f\\u4e1c\",\n",
       "            \"padding\": 5,\n",
       "            \"itemGap\": 10\n",
       "        }\n",
       "    ],\n",
       "    \"visualMap\": {\n",
       "        \"show\": true,\n",
       "        \"type\": \"continuous\",\n",
       "        \"min\": 7164.08,\n",
       "        \"max\": 17096.07,\n",
       "        \"inRange\": {\n",
       "            \"color\": [\n",
       "                \"#50a3ba\",\n",
       "                \"#eac763\",\n",
       "                \"#d94e5d\"\n",
       "            ]\n",
       "        },\n",
       "        \"calculable\": true,\n",
       "        \"inverse\": false,\n",
       "        \"splitNumber\": 5,\n",
       "        \"orient\": \"vertical\",\n",
       "        \"showLabel\": true,\n",
       "        \"itemWidth\": 20,\n",
       "        \"itemHeight\": 140,\n",
       "        \"borderWidth\": 0\n",
       "    }\n",
       "};\n",
       "                chart_8344b6b28ea24d139b0cc5f511b23bca.setOption(option_8344b6b28ea24d139b0cc5f511b23bca);\n",
       "        });\n",
       "    </script>\n"
      ],
      "text/plain": [
       "<pyecharts.render.display.HTML at 0x1604c451c70>"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    " a = (\n",
    "        Map()\n",
    "            .add(\"平均月薪\", list(zip(df.省, df.平均月薪)), \"china\")\n",
    "            .set_global_opts(\n",
    "            title_opts=opts.TitleOpts(title=\"各省python相关岗位平均月薪\",subtitle=\"平均月薪前四位分别是吉林、北京、上海、广东\"),\n",
    "            visualmap_opts=opts.VisualMapOpts(min_=7164.08, max_=17096.07),\n",
    "        )\n",
    "    )\n",
    "a.render_notebook()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#  各省岗位数量分布图——地图\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "<script>\n",
       "    require.config({\n",
       "        paths: {\n",
       "            'echarts':'https://assets.pyecharts.org/assets/echarts.min', 'china':'https://assets.pyecharts.org/assets/maps/china'\n",
       "        }\n",
       "    });\n",
       "</script>\n",
       "\n",
       "        <div id=\"cc4b469054634b46934dc1ffbff0c514\" style=\"width:900px; height:500px;\"></div>\n",
       "\n",
       "<script>\n",
       "        require(['echarts', 'china'], function(echarts) {\n",
       "                var chart_cc4b469054634b46934dc1ffbff0c514 = echarts.init(\n",
       "                    document.getElementById('cc4b469054634b46934dc1ffbff0c514'), 'white', {renderer: 'canvas'});\n",
       "                var option_cc4b469054634b46934dc1ffbff0c514 = {\n",
       "    \"animation\": true,\n",
       "    \"animationThreshold\": 2000,\n",
       "    \"animationDuration\": 1000,\n",
       "    \"animationEasing\": \"cubicOut\",\n",
       "    \"animationDelay\": 0,\n",
       "    \"animationDurationUpdate\": 300,\n",
       "    \"animationEasingUpdate\": \"cubicOut\",\n",
       "    \"animationDelayUpdate\": 0,\n",
       "    \"color\": [\n",
       "        \"#c23531\",\n",
       "        \"#2f4554\",\n",
       "        \"#61a0a8\",\n",
       "        \"#d48265\",\n",
       "        \"#749f83\",\n",
       "        \"#ca8622\",\n",
       "        \"#bda29a\",\n",
       "        \"#6e7074\",\n",
       "        \"#546570\",\n",
       "        \"#c4ccd3\",\n",
       "        \"#f05b72\",\n",
       "        \"#ef5b9c\",\n",
       "        \"#f47920\",\n",
       "        \"#905a3d\",\n",
       "        \"#fab27b\",\n",
       "        \"#2a5caa\",\n",
       "        \"#444693\",\n",
       "        \"#726930\",\n",
       "        \"#b2d235\",\n",
       "        \"#6d8346\",\n",
       "        \"#ac6767\",\n",
       "        \"#1d953f\",\n",
       "        \"#6950a1\",\n",
       "        \"#918597\"\n",
       "    ],\n",
       "    \"series\": [\n",
       "        {\n",
       "            \"type\": \"map\",\n",
       "            \"name\": \"\\u5c97\\u4f4d\\u6570\\u91cf\",\n",
       "            \"label\": {\n",
       "                \"show\": true,\n",
       "                \"position\": \"top\",\n",
       "                \"margin\": 8\n",
       "            },\n",
       "            \"mapType\": \"china\",\n",
       "            \"data\": [\n",
       "                {\n",
       "                    \"name\": \"\\u6cb3\\u5317\",\n",
       "                    \"value\": 60\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u8d35\\u5dde\",\n",
       "                    \"value\": 60\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6cb3\\u5357\",\n",
       "                    \"value\": 477\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u9ed1\\u9f99\\u6c5f\",\n",
       "                    \"value\": 60\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u91cd\\u5e86\",\n",
       "                    \"value\": 179\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5c71\\u897f\",\n",
       "                    \"value\": 60\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u9655\\u897f\",\n",
       "                    \"value\": 417\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5929\\u6d25\",\n",
       "                    \"value\": 355\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5409\\u6797\",\n",
       "                    \"value\": 78\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6c5f\\u897f\",\n",
       "                    \"value\": 60\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5409\\u6797\",\n",
       "                    \"value\": 88\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5c71\\u4e1c\",\n",
       "                    \"value\": 360\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6e56\\u5357\",\n",
       "                    \"value\": 239\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5b89\\u5fbd\",\n",
       "                    \"value\": 236\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u8fbd\\u5b81\",\n",
       "                    \"value\": 227\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u56db\\u5ddd\",\n",
       "                    \"value\": 985\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u798f\\u5efa\",\n",
       "                    \"value\": 359\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6c5f\\u82cf\",\n",
       "                    \"value\": 450\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6e56\\u5317\",\n",
       "                    \"value\": 412\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5357\\u4eac\",\n",
       "                    \"value\": 701\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6d59\\u6c5f\",\n",
       "                    \"value\": 1244\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5e7f\\u4e1c\",\n",
       "                    \"value\": 3164\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u4e0a\\u6d77\",\n",
       "                    \"value\": 3114\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5317\\u4eac\",\n",
       "                    \"value\": 4924\n",
       "                }\n",
       "            ],\n",
       "            \"roam\": true,\n",
       "            \"aspectScale\": 0.75,\n",
       "            \"nameProperty\": \"name\",\n",
       "            \"selectedMode\": false,\n",
       "            \"zoom\": 1,\n",
       "            \"mapValueCalculation\": \"sum\",\n",
       "            \"showLegendSymbol\": true,\n",
       "            \"emphasis\": {}\n",
       "        }\n",
       "    ],\n",
       "    \"legend\": [\n",
       "        {\n",
       "            \"data\": [\n",
       "                \"\\u5c97\\u4f4d\\u6570\\u91cf\"\n",
       "            ],\n",
       "            \"selected\": {\n",
       "                \"\\u5c97\\u4f4d\\u6570\\u91cf\": true\n",
       "            },\n",
       "            \"show\": true,\n",
       "            \"padding\": 5,\n",
       "            \"itemGap\": 10,\n",
       "            \"itemWidth\": 25,\n",
       "            \"itemHeight\": 14\n",
       "        }\n",
       "    ],\n",
       "    \"tooltip\": {\n",
       "        \"show\": true,\n",
       "        \"trigger\": \"item\",\n",
       "        \"triggerOn\": \"mousemove|click\",\n",
       "        \"axisPointer\": {\n",
       "            \"type\": \"line\"\n",
       "        },\n",
       "        \"showContent\": true,\n",
       "        \"alwaysShowContent\": false,\n",
       "        \"showDelay\": 0,\n",
       "        \"hideDelay\": 100,\n",
       "        \"textStyle\": {\n",
       "            \"fontSize\": 14\n",
       "        },\n",
       "        \"borderWidth\": 0,\n",
       "        \"padding\": 5\n",
       "    },\n",
       "    \"title\": [\n",
       "        {\n",
       "            \"text\": \"\\u5404\\u7701python\\u76f8\\u5173\\u5c97\\u4f4d\\u6570\\u91cf\\u5206\\u5e03\",\n",
       "            \"subtext\": \"\\u5e73\\u5747\\u6708\\u85aa\\u524d\\u4e09\\u4f4d\\u5206\\u522b\\u662f\\u5317\\u4eac\\u3001\\u4e0a\\u6d77\\u3001\\u5e7f\\u4e1c\",\n",
       "            \"padding\": 5,\n",
       "            \"itemGap\": 10\n",
       "        }\n",
       "    ],\n",
       "    \"visualMap\": {\n",
       "        \"show\": true,\n",
       "        \"type\": \"piecewise\",\n",
       "        \"min\": 60,\n",
       "        \"max\": 5000,\n",
       "        \"inRange\": {\n",
       "            \"color\": [\n",
       "                \"#50a3ba\",\n",
       "                \"#eac763\",\n",
       "                \"#d94e5d\"\n",
       "            ]\n",
       "        },\n",
       "        \"calculable\": true,\n",
       "        \"inverse\": false,\n",
       "        \"splitNumber\": 5,\n",
       "        \"orient\": \"vertical\",\n",
       "        \"showLabel\": true,\n",
       "        \"itemWidth\": 20,\n",
       "        \"itemHeight\": 14,\n",
       "        \"borderWidth\": 0\n",
       "    }\n",
       "};\n",
       "                chart_cc4b469054634b46934dc1ffbff0c514.setOption(option_cc4b469054634b46934dc1ffbff0c514);\n",
       "        });\n",
       "    </script>\n"
      ],
      "text/plain": [
       "<pyecharts.render.display.HTML at 0x1603bea81c0>"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "a = (\n",
    "        Map()\n",
    "            .add(\"岗位数量\", list(zip(df.省, df.数量)), \"china\")\n",
    "            .set_global_opts(\n",
    "            title_opts=opts.TitleOpts(title=\"各省python相关岗位数量分布\",subtitle=\"平均月薪前三位分别是北京、上海、广东\"),\n",
    "            visualmap_opts=opts.VisualMapOpts(min_=60, max_=5000,is_piecewise=True),\n",
    "        )\n",
    "    )\n",
    "a.render_notebook()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 各省地区职位学历与职位数量对比——折线图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>最低学历</th>\n",
       "      <th>数量</th>\n",
       "      <th>学历百分比</th>\n",
       "      <th>工作经验</th>\n",
       "      <th>职位数量</th>\n",
       "      <th>经验百分比</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>本科</td>\n",
       "      <td>9954.0</td>\n",
       "      <td>54.94</td>\n",
       "      <td>不限</td>\n",
       "      <td>6183</td>\n",
       "      <td>33.95</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>大专</td>\n",
       "      <td>3704.0</td>\n",
       "      <td>20.44</td>\n",
       "      <td>无经验</td>\n",
       "      <td>366</td>\n",
       "      <td>2.01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>不限</td>\n",
       "      <td>3205.0</td>\n",
       "      <td>17.69</td>\n",
       "      <td>1年以下</td>\n",
       "      <td>111</td>\n",
       "      <td>0.61</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>硕士</td>\n",
       "      <td>1137.0</td>\n",
       "      <td>6.28</td>\n",
       "      <td>1-3年</td>\n",
       "      <td>4842</td>\n",
       "      <td>26.58</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>博士</td>\n",
       "      <td>88.0</td>\n",
       "      <td>0.49</td>\n",
       "      <td>3-5年</td>\n",
       "      <td>5164</td>\n",
       "      <td>28.35</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>中专</td>\n",
       "      <td>31.0</td>\n",
       "      <td>0.17</td>\n",
       "      <td>5-10年</td>\n",
       "      <td>1516</td>\n",
       "      <td>8.32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>10年以上</td>\n",
       "      <td>34</td>\n",
       "      <td>0.19</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  最低学历      数量  学历百分比   工作经验  职位数量  经验百分比\n",
       "0   本科  9954.0  54.94     不限  6183  33.95\n",
       "1   大专  3704.0  20.44    无经验   366   2.01\n",
       "2   不限  3205.0  17.69   1年以下   111   0.61\n",
       "3   硕士  1137.0   6.28   1-3年  4842  26.58\n",
       "4   博士    88.0   0.49   3-5年  5164  28.35\n",
       "5   中专    31.0   0.17  5-10年  1516   8.32\n",
       "6  NaN     NaN    NaN  10年以上    34   0.19"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df3 = pd.read_csv('data3.csv', encoding='utf8')\n",
    "df3"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>最低学历</th>\n",
       "      <th>数量</th>\n",
       "      <th>学历百分比</th>\n",
       "      <th>工作经验</th>\n",
       "      <th>经验百分比</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>本科</td>\n",
       "      <td>9954.0</td>\n",
       "      <td>54.94</td>\n",
       "      <td>不限</td>\n",
       "      <td>33.95</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>大专</td>\n",
       "      <td>3704.0</td>\n",
       "      <td>20.44</td>\n",
       "      <td>无经验</td>\n",
       "      <td>2.01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>不限</td>\n",
       "      <td>3205.0</td>\n",
       "      <td>17.69</td>\n",
       "      <td>1年以下</td>\n",
       "      <td>0.61</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>硕士</td>\n",
       "      <td>1137.0</td>\n",
       "      <td>6.28</td>\n",
       "      <td>1-3年</td>\n",
       "      <td>26.58</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>博士</td>\n",
       "      <td>88.0</td>\n",
       "      <td>0.49</td>\n",
       "      <td>3-5年</td>\n",
       "      <td>28.35</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>中专</td>\n",
       "      <td>31.0</td>\n",
       "      <td>0.17</td>\n",
       "      <td>5-10年</td>\n",
       "      <td>8.32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>10年以上</td>\n",
       "      <td>0.19</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  最低学历      数量  学历百分比   工作经验  经验百分比\n",
       "0   本科  9954.0  54.94     不限  33.95\n",
       "1   大专  3704.0  20.44    无经验   2.01\n",
       "2   不限  3205.0  17.69   1年以下   0.61\n",
       "3   硕士  1137.0   6.28   1-3年  26.58\n",
       "4   博士    88.0   0.49   3-5年  28.35\n",
       "5   中专    31.0   0.17  5-10年   8.32\n",
       "6  NaN     NaN    NaN  10年以上   0.19"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df3.drop(labels='职位数量', axis=1) "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 学历占比图——饼状图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "<script>\n",
       "    require.config({\n",
       "        paths: {\n",
       "            'echarts':'https://assets.pyecharts.org/assets/echarts.min'\n",
       "        }\n",
       "    });\n",
       "</script>\n",
       "\n",
       "        <div id=\"5c2caf837894410b905d7edfbe311fb0\" style=\"width:800px; height:400px;\"></div>\n",
       "\n",
       "<script>\n",
       "        require(['echarts'], function(echarts) {\n",
       "                var chart_5c2caf837894410b905d7edfbe311fb0 = echarts.init(\n",
       "                    document.getElementById('5c2caf837894410b905d7edfbe311fb0'), 'white', {renderer: 'canvas'});\n",
       "                var option_5c2caf837894410b905d7edfbe311fb0 = {\n",
       "    \"backgroundColor\": \"#2c343c\",\n",
       "    \"animation\": true,\n",
       "    \"animationThreshold\": 2000,\n",
       "    \"animationDuration\": 1000,\n",
       "    \"animationEasing\": \"cubicOut\",\n",
       "    \"animationDelay\": 0,\n",
       "    \"animationDurationUpdate\": 300,\n",
       "    \"animationEasingUpdate\": \"cubicOut\",\n",
       "    \"animationDelayUpdate\": 0,\n",
       "    \"color\": [\n",
       "        \"#c23531\",\n",
       "        \"#2f4554\",\n",
       "        \"#61a0a8\",\n",
       "        \"#d48265\",\n",
       "        \"#749f83\",\n",
       "        \"#ca8622\",\n",
       "        \"#bda29a\",\n",
       "        \"#6e7074\",\n",
       "        \"#546570\",\n",
       "        \"#c4ccd3\",\n",
       "        \"#f05b72\",\n",
       "        \"#ef5b9c\",\n",
       "        \"#f47920\",\n",
       "        \"#905a3d\",\n",
       "        \"#fab27b\",\n",
       "        \"#2a5caa\",\n",
       "        \"#444693\",\n",
       "        \"#726930\",\n",
       "        \"#b2d235\",\n",
       "        \"#6d8346\",\n",
       "        \"#ac6767\",\n",
       "        \"#1d953f\",\n",
       "        \"#6950a1\",\n",
       "        \"#918597\"\n",
       "    ],\n",
       "    \"series\": [\n",
       "        {\n",
       "            \"type\": \"pie\",\n",
       "            \"name\": \"\\u5b66\\u5386\\u5360\\u6bd4\",\n",
       "            \"clockwise\": true,\n",
       "            \"data\": [\n",
       "                {\n",
       "                    \"name\": \"\\u4e2d\\u4e13\",\n",
       "                    \"value\": 0.17\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u535a\\u58eb\",\n",
       "                    \"value\": 0.49\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u7855\\u58eb\",\n",
       "                    \"value\": 6.28\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u4e0d\\u9650\",\n",
       "                    \"value\": 17.69\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5927\\u4e13\",\n",
       "                    \"value\": 20.44\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u672c\\u79d1\",\n",
       "                    \"value\": 54.94\n",
       "                },\n",
       "                {\n",
       "                    \"name\": null,\n",
       "                    \"value\": null\n",
       "                }\n",
       "            ],\n",
       "            \"radius\": \"55%\",\n",
       "            \"center\": [\n",
       "                \"50%\",\n",
       "                \"50%\"\n",
       "            ],\n",
       "            \"roseType\": \"radius\",\n",
       "            \"label\": {\n",
       "                \"show\": true,\n",
       "                \"position\": \"top\",\n",
       "                \"color\": \"rgba(255, 255, 255, 0.3)\",\n",
       "                \"margin\": 8\n",
       "            },\n",
       "            \"tooltip\": {\n",
       "                \"show\": true,\n",
       "                \"trigger\": \"item\",\n",
       "                \"triggerOn\": \"mousemove|click\",\n",
       "                \"axisPointer\": {\n",
       "                    \"type\": \"line\"\n",
       "                },\n",
       "                \"showContent\": true,\n",
       "                \"alwaysShowContent\": false,\n",
       "                \"showDelay\": 0,\n",
       "                \"hideDelay\": 100,\n",
       "                \"formatter\": \"{a} <br/>{b}: {c} ({d}%)\",\n",
       "                \"textStyle\": {\n",
       "                    \"fontSize\": 14\n",
       "                },\n",
       "                \"borderWidth\": 0,\n",
       "                \"padding\": 5\n",
       "            },\n",
       "            \"rippleEffect\": {\n",
       "                \"show\": true,\n",
       "                \"brushType\": \"stroke\",\n",
       "                \"scale\": 2.5,\n",
       "                \"period\": 4\n",
       "            }\n",
       "        }\n",
       "    ],\n",
       "    \"legend\": [\n",
       "        {\n",
       "            \"data\": [\n",
       "                \"\\u4e2d\\u4e13\",\n",
       "                \"\\u535a\\u58eb\",\n",
       "                \"\\u7855\\u58eb\",\n",
       "                \"\\u4e0d\\u9650\",\n",
       "                \"\\u5927\\u4e13\",\n",
       "                \"\\u672c\\u79d1\",\n",
       "                null\n",
       "            ],\n",
       "            \"selected\": {},\n",
       "            \"show\": false,\n",
       "            \"padding\": 5,\n",
       "            \"itemGap\": 10,\n",
       "            \"itemWidth\": 25,\n",
       "            \"itemHeight\": 14\n",
       "        }\n",
       "    ],\n",
       "    \"tooltip\": {\n",
       "        \"show\": true,\n",
       "        \"trigger\": \"item\",\n",
       "        \"triggerOn\": \"mousemove|click\",\n",
       "        \"axisPointer\": {\n",
       "            \"type\": \"line\"\n",
       "        },\n",
       "        \"showContent\": true,\n",
       "        \"alwaysShowContent\": false,\n",
       "        \"showDelay\": 0,\n",
       "        \"hideDelay\": 100,\n",
       "        \"textStyle\": {\n",
       "            \"fontSize\": 14\n",
       "        },\n",
       "        \"borderWidth\": 0,\n",
       "        \"padding\": 5\n",
       "    },\n",
       "    \"title\": [\n",
       "        {\n",
       "            \"text\": \"\\u5b66\\u5386\\u5360\\u6bd4\\u5bf9\\u6bd4\\u56fe\",\n",
       "            \"left\": \"center\",\n",
       "            \"top\": \"20\",\n",
       "            \"padding\": 5,\n",
       "            \"itemGap\": 10,\n",
       "            \"textStyle\": {\n",
       "                \"color\": \"#fff\"\n",
       "            }\n",
       "        }\n",
       "    ]\n",
       "};\n",
       "                chart_5c2caf837894410b905d7edfbe311fb0.setOption(option_5c2caf837894410b905d7edfbe311fb0);\n",
       "        });\n",
       "    </script>\n"
      ],
      "text/plain": [
       "<pyecharts.render.display.HTML at 0x1604e42a250>"
      ]
     },
     "execution_count": 69,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "\n",
    "\n",
    "x_data = df3['最低学历'].tolist()\n",
    "y_data = df3['学历百分比'].tolist()\n",
    "data_pair = [list(z) for z in zip(x_data, y_data)]\n",
    "data_pair.sort(key=lambda x: x[1])\n",
    "\n",
    "(\n",
    "    Pie(init_opts=opts.InitOpts(width=\"800px\", height=\"400px\", bg_color=\"#2c343c\"))\n",
    "    .add(\n",
    "        series_name=\"学历占比\",\n",
    "        data_pair=data_pair,\n",
    "        rosetype=\"radius\",\n",
    "        radius=\"55%\",\n",
    "        center=[\"50%\", \"50%\"],\n",
    "        label_opts=opts.LabelOpts(is_show=False, position=\"center\"),\n",
    "    )\n",
    "    .set_global_opts(\n",
    "        title_opts=opts.TitleOpts(\n",
    "            title=\"学历占比对比图\",\n",
    "            pos_left=\"center\",\n",
    "            pos_top=\"20\",\n",
    "            title_textstyle_opts=opts.TextStyleOpts(color=\"#fff\"),\n",
    "        ),\n",
    "        legend_opts=opts.LegendOpts(is_show=False),\n",
    "    )\n",
    "    .set_series_opts(\n",
    "        tooltip_opts=opts.TooltipOpts(\n",
    "            trigger=\"item\", formatter=\"{a} <br/>{b}: {c} ({d}%)\"\n",
    "        ),\n",
    "        label_opts=opts.LabelOpts(color=\"rgba(255, 255, 255, 0.3)\"),\n",
    "    )\n",
    "    .render_notebook()\n",
    "    \n",
    ")\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 工作经验与岗位分布情况柱状-折线图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "<script>\n",
       "    require.config({\n",
       "        paths: {\n",
       "            'echarts':'https://assets.pyecharts.org/assets/echarts.min'\n",
       "        }\n",
       "    });\n",
       "</script>\n",
       "\n",
       "        <div id=\"c27e389adbc34c14b157ceda6727af69\" style=\"width:900px; height:500px;\"></div>\n",
       "\n",
       "<script>\n",
       "        require(['echarts'], function(echarts) {\n",
       "                var chart_c27e389adbc34c14b157ceda6727af69 = echarts.init(\n",
       "                    document.getElementById('c27e389adbc34c14b157ceda6727af69'), 'white', {renderer: 'canvas'});\n",
       "                var option_c27e389adbc34c14b157ceda6727af69 = {\n",
       "    \"animation\": true,\n",
       "    \"animationThreshold\": 2000,\n",
       "    \"animationDuration\": 1000,\n",
       "    \"animationEasing\": \"cubicOut\",\n",
       "    \"animationDelay\": 0,\n",
       "    \"animationDurationUpdate\": 300,\n",
       "    \"animationEasingUpdate\": \"cubicOut\",\n",
       "    \"animationDelayUpdate\": 0,\n",
       "    \"color\": [\n",
       "        \"#c23531\",\n",
       "        \"#2f4554\",\n",
       "        \"#61a0a8\",\n",
       "        \"#d48265\",\n",
       "        \"#749f83\",\n",
       "        \"#ca8622\",\n",
       "        \"#bda29a\",\n",
       "        \"#6e7074\",\n",
       "        \"#546570\",\n",
       "        \"#c4ccd3\",\n",
       "        \"#f05b72\",\n",
       "        \"#ef5b9c\",\n",
       "        \"#f47920\",\n",
       "        \"#905a3d\",\n",
       "        \"#fab27b\",\n",
       "        \"#2a5caa\",\n",
       "        \"#444693\",\n",
       "        \"#726930\",\n",
       "        \"#b2d235\",\n",
       "        \"#6d8346\",\n",
       "        \"#ac6767\",\n",
       "        \"#1d953f\",\n",
       "        \"#6950a1\",\n",
       "        \"#918597\"\n",
       "    ],\n",
       "    \"series\": [\n",
       "        {\n",
       "            \"type\": \"bar\",\n",
       "            \"name\": \"\\u804c\\u4f4d\\u6570\\u91cf\",\n",
       "            \"legendHoverLink\": true,\n",
       "            \"data\": [\n",
       "                9954.0,\n",
       "                3704.0,\n",
       "                3205.0,\n",
       "                1137.0,\n",
       "                88.0,\n",
       "                31.0,\n",
       "                null\n",
       "            ],\n",
       "            \"showBackground\": false,\n",
       "            \"barMinHeight\": 0,\n",
       "            \"barCategoryGap\": \"20%\",\n",
       "            \"barGap\": \"30%\",\n",
       "            \"large\": false,\n",
       "            \"largeThreshold\": 400,\n",
       "            \"seriesLayoutBy\": \"column\",\n",
       "            \"datasetIndex\": 0,\n",
       "            \"clip\": true,\n",
       "            \"zlevel\": 0,\n",
       "            \"z\": 2,\n",
       "            \"label\": {\n",
       "                \"show\": true,\n",
       "                \"position\": \"top\",\n",
       "                \"margin\": 8\n",
       "            },\n",
       "            \"itemStyle\": {\n",
       "                \"color\":         function (params) {            if (params.value < 3000)                 return '#66cc98';            else return '#009999';        }        \n",
       "            }\n",
       "        },\n",
       "        {\n",
       "            \"type\": \"line\",\n",
       "            \"name\": \"\\u804c\\u4f4d\\u6570\\u91cf\",\n",
       "            \"connectNulls\": false,\n",
       "            \"symbolSize\": 4,\n",
       "            \"showSymbol\": true,\n",
       "            \"smooth\": false,\n",
       "            \"clip\": true,\n",
       "            \"step\": false,\n",
       "            \"data\": [\n",
       "                [\n",
       "                    \"\\u4e0d\\u9650\",\n",
       "                    9954.0\n",
       "                ],\n",
       "                [\n",
       "                    \"3-5\\u5e74\",\n",
       "                    3704.0\n",
       "                ],\n",
       "                [\n",
       "                    \"1-3\\u5e74\",\n",
       "                    3205.0\n",
       "                ],\n",
       "                [\n",
       "                    \"5-10\\u5e74\",\n",
       "                    1137.0\n",
       "                ],\n",
       "                [\n",
       "                    \"\\u65e0\\u7ecf\\u9a8c\",\n",
       "                    88.0\n",
       "                ],\n",
       "                [\n",
       "                    \"\\u4e00\\u5e74\\u4ee5\\u4e0b\",\n",
       "                    31.0\n",
       "                ],\n",
       "                [\n",
       "                    \"10\\u5e74\\u4ee5\\u4e0a\",\n",
       "                    null\n",
       "                ]\n",
       "            ],\n",
       "            \"hoverAnimation\": true,\n",
       "            \"label\": {\n",
       "                \"show\": false,\n",
       "                \"position\": \"top\",\n",
       "                \"margin\": 8\n",
       "            },\n",
       "            \"lineStyle\": {\n",
       "                \"show\": true,\n",
       "                \"width\": 1,\n",
       "                \"opacity\": 1,\n",
       "                \"curveness\": 0,\n",
       "                \"type\": \"solid\"\n",
       "            },\n",
       "            \"areaStyle\": {\n",
       "                \"opacity\": 0\n",
       "            },\n",
       "            \"zlevel\": 0,\n",
       "            \"z\": 0,\n",
       "            \"rippleEffect\": {\n",
       "                \"show\": true,\n",
       "                \"brushType\": \"stroke\",\n",
       "                \"scale\": 2.5,\n",
       "                \"period\": 4\n",
       "            }\n",
       "        }\n",
       "    ],\n",
       "    \"legend\": [\n",
       "        {\n",
       "            \"data\": [\n",
       "                \"\\u804c\\u4f4d\\u6570\\u91cf\",\n",
       "                \"\\u804c\\u4f4d\\u6570\\u91cf\"\n",
       "            ],\n",
       "            \"selected\": {\n",
       "                \"\\u804c\\u4f4d\\u6570\\u91cf\": true\n",
       "            },\n",
       "            \"show\": true,\n",
       "            \"padding\": 5,\n",
       "            \"itemGap\": 10,\n",
       "            \"itemWidth\": 25,\n",
       "            \"itemHeight\": 14\n",
       "        }\n",
       "    ],\n",
       "    \"tooltip\": {\n",
       "        \"show\": true,\n",
       "        \"trigger\": \"item\",\n",
       "        \"triggerOn\": \"mousemove|click\",\n",
       "        \"axisPointer\": {\n",
       "            \"type\": \"line\"\n",
       "        },\n",
       "        \"showContent\": true,\n",
       "        \"alwaysShowContent\": false,\n",
       "        \"showDelay\": 0,\n",
       "        \"hideDelay\": 100,\n",
       "        \"textStyle\": {\n",
       "            \"fontSize\": 14\n",
       "        },\n",
       "        \"borderWidth\": 0,\n",
       "        \"padding\": 5\n",
       "    },\n",
       "    \"xAxis\": [\n",
       "        {\n",
       "            \"show\": true,\n",
       "            \"scale\": false,\n",
       "            \"nameLocation\": \"end\",\n",
       "            \"nameGap\": 15,\n",
       "            \"gridIndex\": 0,\n",
       "            \"inverse\": false,\n",
       "            \"offset\": 0,\n",
       "            \"splitNumber\": 5,\n",
       "            \"minInterval\": 0,\n",
       "            \"splitLine\": {\n",
       "                \"show\": false,\n",
       "                \"lineStyle\": {\n",
       "                    \"show\": true,\n",
       "                    \"width\": 1,\n",
       "                    \"opacity\": 1,\n",
       "                    \"curveness\": 0,\n",
       "                    \"type\": \"solid\"\n",
       "                }\n",
       "            },\n",
       "            \"data\": [\n",
       "                \"\\u4e0d\\u9650\",\n",
       "                \"3-5\\u5e74\",\n",
       "                \"1-3\\u5e74\",\n",
       "                \"5-10\\u5e74\",\n",
       "                \"\\u65e0\\u7ecf\\u9a8c\",\n",
       "                \"\\u4e00\\u5e74\\u4ee5\\u4e0b\"\n",
       "            ]\n",
       "        }\n",
       "    ],\n",
       "    \"yAxis\": [\n",
       "        {\n",
       "            \"show\": true,\n",
       "            \"scale\": false,\n",
       "            \"nameLocation\": \"end\",\n",
       "            \"nameGap\": 15,\n",
       "            \"gridIndex\": 0,\n",
       "            \"inverse\": false,\n",
       "            \"offset\": 0,\n",
       "            \"splitNumber\": 5,\n",
       "            \"minInterval\": 0,\n",
       "            \"splitLine\": {\n",
       "                \"show\": false,\n",
       "                \"lineStyle\": {\n",
       "                    \"show\": true,\n",
       "                    \"width\": 1,\n",
       "                    \"opacity\": 1,\n",
       "                    \"curveness\": 0,\n",
       "                    \"type\": \"solid\"\n",
       "                }\n",
       "            }\n",
       "        }\n",
       "    ],\n",
       "    \"title\": [\n",
       "        {\n",
       "            \"text\": \"\\u5de5\\u4f5c\\u7ecf\\u9a8c-\\u804c\\u4f4d\\u5206\\u5e03\\u6570\\u91cf\",\n",
       "            \"subtext\": \"\\u4e0d\\u9650\\u5de5\\u4f5c\\u7ecf\\u9a8c\\u7684\\u5c97\\u4f4d\\u6570\\u91cf\\u6bd4\\u8f83\\u591a\\u3002\",\n",
       "            \"padding\": 5,\n",
       "            \"itemGap\": 10\n",
       "        }\n",
       "    ]\n",
       "};\n",
       "                chart_c27e389adbc34c14b157ceda6727af69.setOption(option_c27e389adbc34c14b157ceda6727af69);\n",
       "        });\n",
       "    </script>\n"
      ],
      "text/plain": [
       "<pyecharts.render.display.HTML at 0x1604e2a4dc0>"
      ]
     },
     "execution_count": 64,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "\n",
    "#设置颜色\n",
    "color_function = \"\"\"\n",
    "        function (params) {\n",
    "            if (params.value < 3000) \n",
    "                return '#66cc98';\n",
    "            else return '#009999';\n",
    "        }\n",
    "        \"\"\"\n",
    "\n",
    "bar = (\n",
    "        Bar()\n",
    "            .add_xaxis(['不限', '3-5年', '1-3年', '5-10年', '无经验', '一年以下'])\n",
    "            .add_yaxis(\"职位数量\",  y_axis=df3['数量'].tolist(),itemstyle_opts=opts.ItemStyleOpts(color=JsCode(color_function)))\n",
    "\n",
    "            .set_global_opts(title_opts=opts.TitleOpts(title=\"工作经验-职位分布数量\",\n",
    "                                                       subtitle='不限工作经验的岗位数量比较多。',\n",
    "                                                     ))\n",
    "    )\n",
    "line = (\n",
    "    Line()\n",
    "    .add_xaxis(['不限', '3-5年', '1-3年', '5-10年', '无经验', '一年以下', '10年以上'])   # x轴\n",
    "    .add_yaxis(\"职位数量\",  y_axis=df3['数量'].tolist(),color=[\"yellow\"])\n",
    "    .set_series_opts(label_opts = opts.LabelOpts(is_show=False))\n",
    "    \n",
    ")\n",
    "\n",
    "bar.overlap(line).render_notebook()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "df5 = pd.read_excel('data5.xlsx', encoding='utf8')\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>公司描述</th>\n",
       "      <th>industry</th>\n",
       "      <th>职位名称</th>\n",
       "      <th>welfare</th>\n",
       "      <th>薪水</th>\n",
       "      <th>简介</th>\n",
       "      <th>ava_salary</th>\n",
       "      <th>ln_salary</th>\n",
       "      <th>city</th>\n",
       "      <th>exp</th>\n",
       "      <th>edu</th>\n",
       "      <th>companytype</th>\n",
       "      <th>scale</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>民营公司 | 50-150人</td>\n",
       "      <td>专业服务(咨询、人力资源、财会)</td>\n",
       "      <td>架构专家</td>\n",
       "      <td>五险一金 交通补贴 餐饮补贴 通讯补贴 绩效奖金 弹性工作</td>\n",
       "      <td>80-100万/年</td>\n",
       "      <td>深圳-宝安区 | 3-4年经验 | 本科 | 招1人</td>\n",
       "      <td>75.000000</td>\n",
       "      <td>4.317488</td>\n",
       "      <td>深圳</td>\n",
       "      <td>3-4年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>50-150人</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>民营公司 | 150-500人</td>\n",
       "      <td>计算机服务(系统、数据服务、维修)</td>\n",
       "      <td>高级售前工程师</td>\n",
       "      <td>五险一金 补充医疗保险 补充公积金 定期体检</td>\n",
       "      <td>15-20万/年</td>\n",
       "      <td>广州-黄埔区 | 3-4年经验 | 本科 | 招2人</td>\n",
       "      <td>14.583333</td>\n",
       "      <td>2.679879</td>\n",
       "      <td>广州</td>\n",
       "      <td>3-4年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>150-500人</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>民营公司 | 150-500人</td>\n",
       "      <td>保险</td>\n",
       "      <td>数据库工程师</td>\n",
       "      <td>五险一金 专业培训 绩效奖金 年终奖金 定期体检 周末双休 带薪年假 防暑降温补贴</td>\n",
       "      <td>20-25万/年</td>\n",
       "      <td>广州-天河区 | 1年经验 | 本科 | 招1人</td>\n",
       "      <td>18.750000</td>\n",
       "      <td>2.931194</td>\n",
       "      <td>广州</td>\n",
       "      <td>1年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>150-500人</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>民营公司 | 50-150人</td>\n",
       "      <td>农/林/牧/渔</td>\n",
       "      <td>数据分析及推广</td>\n",
       "      <td>社保 员工旅游 专业培训 绩效奖金 年终奖金 股票期权 补充医疗保险</td>\n",
       "      <td>4-6千/月</td>\n",
       "      <td>广州-花都区 | 1年经验 | 大专 | 招若干人</td>\n",
       "      <td>5.000000</td>\n",
       "      <td>1.609438</td>\n",
       "      <td>广州</td>\n",
       "      <td>1年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>50-150人</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>民营公司 | 少于50人</td>\n",
       "      <td>房地产</td>\n",
       "      <td>贝壳找房大平台 高薪诚聘 网络销售 无责底薪 社保</td>\n",
       "      <td>专业培训 节日福利 绩效奖金 五险一金 师傅带教</td>\n",
       "      <td>1-2万/月</td>\n",
       "      <td>深圳-龙华区 | 无需经验 | 大专 | 招5人</td>\n",
       "      <td>15.000000</td>\n",
       "      <td>2.708050</td>\n",
       "      <td>深圳</td>\n",
       "      <td>无需经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>少于50人</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15211</th>\n",
       "      <td>国企 | 150-500人</td>\n",
       "      <td>计算机软件</td>\n",
       "      <td>数据挖掘算法工程师</td>\n",
       "      <td>五险一金 补充医疗保险 免费班车 员工旅游 专业培训 出国机会 年终奖金 股票期权 弹性工作...</td>\n",
       "      <td>1.2-1.8万/月</td>\n",
       "      <td>武汉-洪山区 | 3-4年经验 | 本科 | 招10人</td>\n",
       "      <td>15.000000</td>\n",
       "      <td>2.708050</td>\n",
       "      <td>武汉</td>\n",
       "      <td>3-4年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>国企</td>\n",
       "      <td>150-500人</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15212</th>\n",
       "      <td>国企 | 10000人以上</td>\n",
       "      <td>通信/电信/网络设备</td>\n",
       "      <td>可视化设计师</td>\n",
       "      <td>五险一金 定期体检 绩效奖金 年终奖金 包吃</td>\n",
       "      <td>1-1.5万/月</td>\n",
       "      <td>广州-海珠区 | 3-4年经验 | 本科 | 招若干人</td>\n",
       "      <td>12.500000</td>\n",
       "      <td>2.525729</td>\n",
       "      <td>广州</td>\n",
       "      <td>3-4年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>国企</td>\n",
       "      <td>10000人以上</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15213</th>\n",
       "      <td>国企 | 150-500人</td>\n",
       "      <td>计算机软件</td>\n",
       "      <td>数据技术研发工程师</td>\n",
       "      <td>五险一金 补充医疗保险 免费班车 员工旅游 专业培训 出国机会 年终奖金 股票期权 弹性工作...</td>\n",
       "      <td>1.5-2万/月</td>\n",
       "      <td>武汉-洪山区 | 3-4年经验 | 本科 | 招1人</td>\n",
       "      <td>17.500000</td>\n",
       "      <td>2.862201</td>\n",
       "      <td>武汉</td>\n",
       "      <td>3-4年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>国企</td>\n",
       "      <td>150-500人</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15214</th>\n",
       "      <td>国企 | 10000人以上</td>\n",
       "      <td>通信/电信/网络设备</td>\n",
       "      <td>高级UI设计师</td>\n",
       "      <td>五险一金</td>\n",
       "      <td>1-1.5万/月</td>\n",
       "      <td>广州-海珠区 | 3-4年经验 | 本科 | 招若干人</td>\n",
       "      <td>12.500000</td>\n",
       "      <td>2.525729</td>\n",
       "      <td>广州</td>\n",
       "      <td>3-4年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>国企</td>\n",
       "      <td>10000人以上</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15215</th>\n",
       "      <td>民营公司 | 10000人以上</td>\n",
       "      <td>房地产</td>\n",
       "      <td>(七宝上班）大客户代表-储备经理/保障8K</td>\n",
       "      <td>弹性工作 节日福利 专业培训 绩效奖金 带薪年假 五险一金 定期体检 出国机会</td>\n",
       "      <td>0.8-1.6万/月</td>\n",
       "      <td>上海-闵行区 | 无需经验 | 本科 | 招2人</td>\n",
       "      <td>12.000000</td>\n",
       "      <td>2.484907</td>\n",
       "      <td>上海</td>\n",
       "      <td>无需经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>10000人以上</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>15216 rows × 13 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                  公司描述           industry                       职位名称  \\\n",
       "0       民营公司 | 50-150人   专业服务(咨询、人力资源、财会)                       架构专家   \n",
       "1      民营公司 | 150-500人  计算机服务(系统、数据服务、维修)                    高级售前工程师   \n",
       "2      民营公司 | 150-500人                 保险                     数据库工程师   \n",
       "3       民营公司 | 50-150人            农/林/牧/渔                    数据分析及推广   \n",
       "4         民营公司 | 少于50人                房地产  贝壳找房大平台 高薪诚聘 网络销售 无责底薪 社保   \n",
       "...                ...                ...                        ...   \n",
       "15211    国企 | 150-500人              计算机软件                  数据挖掘算法工程师   \n",
       "15212    国企 | 10000人以上         通信/电信/网络设备                     可视化设计师   \n",
       "15213    国企 | 150-500人              计算机软件                  数据技术研发工程师   \n",
       "15214    国企 | 10000人以上         通信/电信/网络设备                    高级UI设计师   \n",
       "15215  民营公司 | 10000人以上                房地产      (七宝上班）大客户代表-储备经理/保障8K   \n",
       "\n",
       "                                                 welfare          薪水  \\\n",
       "0                          五险一金 交通补贴 餐饮补贴 通讯补贴 绩效奖金 弹性工作   80-100万/年   \n",
       "1                                 五险一金 补充医疗保险 补充公积金 定期体检    15-20万/年   \n",
       "2              五险一金 专业培训 绩效奖金 年终奖金 定期体检 周末双休 带薪年假 防暑降温补贴    20-25万/年   \n",
       "3                     社保 员工旅游 专业培训 绩效奖金 年终奖金 股票期权 补充医疗保险      4-6千/月   \n",
       "4                               专业培训 节日福利 绩效奖金 五险一金 师傅带教      1-2万/月   \n",
       "...                                                  ...         ...   \n",
       "15211  五险一金 补充医疗保险 免费班车 员工旅游 专业培训 出国机会 年终奖金 股票期权 弹性工作...  1.2-1.8万/月   \n",
       "15212                             五险一金 定期体检 绩效奖金 年终奖金 包吃    1-1.5万/月   \n",
       "15213  五险一金 补充医疗保险 免费班车 员工旅游 专业培训 出国机会 年终奖金 股票期权 弹性工作...    1.5-2万/月   \n",
       "15214                                               五险一金    1-1.5万/月   \n",
       "15215            弹性工作 节日福利 专业培训 绩效奖金 带薪年假 五险一金 定期体检 出国机会  0.8-1.6万/月   \n",
       "\n",
       "                                简介  ava_salary  ln_salary city       exp  \\\n",
       "0       深圳-宝安区 | 3-4年经验 | 本科 | 招1人   75.000000   4.317488   深圳   3-4年经验    \n",
       "1       广州-黄埔区 | 3-4年经验 | 本科 | 招2人   14.583333   2.679879   广州   3-4年经验    \n",
       "2         广州-天河区 | 1年经验 | 本科 | 招1人   18.750000   2.931194   广州     1年经验    \n",
       "3        广州-花都区 | 1年经验 | 大专 | 招若干人    5.000000   1.609438   广州     1年经验    \n",
       "4         深圳-龙华区 | 无需经验 | 大专 | 招5人   15.000000   2.708050   深圳     无需经验    \n",
       "...                            ...         ...        ...  ...       ...   \n",
       "15211  武汉-洪山区 | 3-4年经验 | 本科 | 招10人   15.000000   2.708050   武汉   3-4年经验    \n",
       "15212  广州-海珠区 | 3-4年经验 | 本科 | 招若干人   12.500000   2.525729   广州   3-4年经验    \n",
       "15213   武汉-洪山区 | 3-4年经验 | 本科 | 招1人   17.500000   2.862201   武汉   3-4年经验    \n",
       "15214  广州-海珠区 | 3-4年经验 | 本科 | 招若干人   12.500000   2.525729   广州   3-4年经验    \n",
       "15215     上海-闵行区 | 无需经验 | 本科 | 招2人   12.000000   2.484907   上海     无需经验    \n",
       "\n",
       "        edu companytype      scale  \n",
       "0       本科        民营公司     50-150人  \n",
       "1       本科        民营公司    150-500人  \n",
       "2       本科        民营公司    150-500人  \n",
       "3       大专        民营公司     50-150人  \n",
       "4       大专        民营公司       少于50人  \n",
       "...     ...         ...        ...  \n",
       "15211   本科          国企    150-500人  \n",
       "15212   本科          国企    10000人以上  \n",
       "15213   本科          国企    150-500人  \n",
       "15214   本科          国企    10000人以上  \n",
       "15215   本科        民营公司    10000人以上  \n",
       "\n",
       "[15216 rows x 13 columns]"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df5.drop(labels=['公司信息','job_info'],axis=1) \n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 福利待遇词云图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "<script>\n",
       "    require.config({\n",
       "        paths: {\n",
       "            'echarts':'https://assets.pyecharts.org/assets/echarts.min', 'echarts-wordcloud':'https://assets.pyecharts.org/assets/echarts-wordcloud.min'\n",
       "        }\n",
       "    });\n",
       "</script>\n",
       "\n",
       "        <div id=\"ed81a8c9c73b41478aa8fd3f8b4b068c\" style=\"width:900px; height:500px;\"></div>\n",
       "\n",
       "<script>\n",
       "        require(['echarts', 'echarts-wordcloud'], function(echarts) {\n",
       "                var chart_ed81a8c9c73b41478aa8fd3f8b4b068c = echarts.init(\n",
       "                    document.getElementById('ed81a8c9c73b41478aa8fd3f8b4b068c'), 'white', {renderer: 'canvas'});\n",
       "                var option_ed81a8c9c73b41478aa8fd3f8b4b068c = {\n",
       "    \"animation\": true,\n",
       "    \"animationThreshold\": 2000,\n",
       "    \"animationDuration\": 1000,\n",
       "    \"animationEasing\": \"cubicOut\",\n",
       "    \"animationDelay\": 0,\n",
       "    \"animationDurationUpdate\": 300,\n",
       "    \"animationEasingUpdate\": \"cubicOut\",\n",
       "    \"animationDelayUpdate\": 0,\n",
       "    \"color\": [\n",
       "        \"#c23531\",\n",
       "        \"#2f4554\",\n",
       "        \"#61a0a8\",\n",
       "        \"#d48265\",\n",
       "        \"#749f83\",\n",
       "        \"#ca8622\",\n",
       "        \"#bda29a\",\n",
       "        \"#6e7074\",\n",
       "        \"#546570\",\n",
       "        \"#c4ccd3\",\n",
       "        \"#f05b72\",\n",
       "        \"#ef5b9c\",\n",
       "        \"#f47920\",\n",
       "        \"#905a3d\",\n",
       "        \"#fab27b\",\n",
       "        \"#2a5caa\",\n",
       "        \"#444693\",\n",
       "        \"#726930\",\n",
       "        \"#b2d235\",\n",
       "        \"#6d8346\",\n",
       "        \"#ac6767\",\n",
       "        \"#1d953f\",\n",
       "        \"#6950a1\",\n",
       "        \"#918597\"\n",
       "    ],\n",
       "    \"series\": [\n",
       "        {\n",
       "            \"type\": \"wordCloud\",\n",
       "            \"name\": \"\\u798f\\u5229\\u5f85\\u9047\\u5206\\u6790\",\n",
       "            \"shape\": \"circle\",\n",
       "            \"rotationRange\": [\n",
       "                -90,\n",
       "                90\n",
       "            ],\n",
       "            \"rotationStep\": 45,\n",
       "            \"girdSize\": 20,\n",
       "            \"sizeRange\": [\n",
       "                12,\n",
       "                60\n",
       "            ],\n",
       "            \"data\": [\n",
       "                {\n",
       "                    \"name\": \"\\u8865\\u8d34\",\n",
       "                    \"value\": 13548,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(113,85,56)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u4e00\\u91d1\",\n",
       "                    \"value\": 12464,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(19,15,148)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u4e94\\u9669\",\n",
       "                    \"value\": 10830,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(18,42,65)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u7ee9\\u6548\\u5956\\u91d1\",\n",
       "                    \"value\": 10829,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(135,86,143)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u4e13\\u4e1a\\u57f9\\u8bad\",\n",
       "                    \"value\": 7224,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(46,47,114)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5e74\\u7ec8\\u5956\\u91d1\",\n",
       "                    \"value\": 6523,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(118,121,55)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5f39\\u6027\",\n",
       "                    \"value\": 6488,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(12,82,154)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u4f53\\u68c0\",\n",
       "                    \"value\": 5850,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(107,2,83)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5b9a\\u671f\",\n",
       "                    \"value\": 5769,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(3,104,18)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u65c5\\u6e38\",\n",
       "                    \"value\": 5633,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(49,43,66)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u8282\\u65e5\",\n",
       "                    \"value\": 5457,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(100,76,92)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u9910\\u996e\",\n",
       "                    \"value\": 4341,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(24,51,2)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u4ea4\\u901a\",\n",
       "                    \"value\": 4066,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(127,42,45)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u8865\\u5145\",\n",
       "                    \"value\": 3225,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(128,87,92)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u533b\\u7597\\u4fdd\\u9669\",\n",
       "                    \"value\": 2630,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(149,32,129)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u4f4f\\u623f\\u8865\\u8d34\",\n",
       "                    \"value\": 2498,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(122,130,149)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u53cc\\u4f11\",\n",
       "                    \"value\": 2388,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(155,131,65)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5468\\u672b\",\n",
       "                    \"value\": 2334,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(72,71,102)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5168\\u52e4\\u5956\",\n",
       "                    \"value\": 2296,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(4,82,110)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u4f4f\\u5bbf\",\n",
       "                    \"value\": 1886,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(107,145,119)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u51fa\\u56fd\",\n",
       "                    \"value\": 1864,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(130,146,105)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5305\",\n",
       "                    \"value\": 1540,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(38,79,17)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5047\\u4e94\\u9669\",\n",
       "                    \"value\": 1479,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(139,63,121)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u673a\\u4f1a\",\n",
       "                    \"value\": 1217,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(62,7,108)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5305\\u5403\",\n",
       "                    \"value\": 1107,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(39,83,85)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u671f\\u6743\",\n",
       "                    \"value\": 966,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(73,142,90)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u80a1\\u7968\",\n",
       "                    \"value\": 958,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(138,73,27)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u73ed\\u8f66\",\n",
       "                    \"value\": 901,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(10,89,157)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u664b\\u5347\",\n",
       "                    \"value\": 880,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(131,79,15)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u900f\\u660e\",\n",
       "                    \"value\": 710,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(133,95,45)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u9886\\u519b\",\n",
       "                    \"value\": 688,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(68,150,20)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6241\\u5e73\\u5316\",\n",
       "                    \"value\": 686,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(130,61,41)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u516c\\u79ef\\u91d1\",\n",
       "                    \"value\": 582,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(21,126,83)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u4e8c\",\n",
       "                    \"value\": 489,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(63,91,5)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u505a\\u4e94\\u4f11\",\n",
       "                    \"value\": 460,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(153,44,70)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u56e2\\u5efa\",\n",
       "                    \"value\": 441,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(40,132,141)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u7a7a\\u95f4\",\n",
       "                    \"value\": 378,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(133,102,0)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u9ad8\\u6e29\",\n",
       "                    \"value\": 336,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(158,58,100)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u4e00\\u91d1\\u4e94\\u9669\",\n",
       "                    \"value\": 270,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(149,57,6)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u4e0b\\u5348\\u8336\",\n",
       "                    \"value\": 249,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(27,158,95)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u516d\\u9669\",\n",
       "                    \"value\": 221,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(72,67,82)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u9886\\u5bfc\",\n",
       "                    \"value\": 220,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(124,39,37)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u63d0\\u6210\",\n",
       "                    \"value\": 207,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(147,57,59)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"nice\",\n",
       "                    \"value\": 185,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(40,154,79)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u8282\\u5047\\u65e5\",\n",
       "                    \"value\": 183,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(16,30,62)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u53cc\\u85aa\",\n",
       "                    \"value\": 180,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(87,90,46)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u805a\\u9910\",\n",
       "                    \"value\": 171,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(71,126,90)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5927\\u6709\",\n",
       "                    \"value\": 166,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(160,113,143)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6cd5\\u5b9a\",\n",
       "                    \"value\": 162,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(52,146,106)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u751f\\u65e5\",\n",
       "                    \"value\": 154,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(45,50,103)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"good\",\n",
       "                    \"value\": 153,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(160,29,18)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5e74\\u5e95\",\n",
       "                    \"value\": 149,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(97,141,157)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u8f7b\\u677e\",\n",
       "                    \"value\": 145,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(90,131,25)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u505a\",\n",
       "                    \"value\": 137,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(106,92,2)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5956\\u91d1\",\n",
       "                    \"value\": 131,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(134,136,152)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u8865\\u52a9\",\n",
       "                    \"value\": 126,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(16,74,138)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u793e\\u4fdd\",\n",
       "                    \"value\": 125,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(73,123,47)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u4e94\\u4f11\",\n",
       "                    \"value\": 109,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(11,94,46)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u9669\\u4e00\\u91d1\",\n",
       "                    \"value\": 107,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(98,106,144)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u4e00\\u91d1\\u5305\",\n",
       "                    \"value\": 103,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(131,120,0)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5047\\u5b9a\",\n",
       "                    \"value\": 103,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(82,102,134)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u671f\",\n",
       "                    \"value\": 103,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(79,85,151)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5047\\u5305\",\n",
       "                    \"value\": 100,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(67,137,87)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5927\\u725b\",\n",
       "                    \"value\": 96,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(50,88,57)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u96f6\\u98df\",\n",
       "                    \"value\": 89,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(19,139,45)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u4e0d\\u5b9a\\u671f\",\n",
       "                    \"value\": 88,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(82,104,22)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5305\\u5403\\u5305\\u4f4f\",\n",
       "                    \"value\": 87,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(109,70,27)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5e74\\u7ec8\",\n",
       "                    \"value\": 85,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(125,26,141)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u4e8c\\u4e94\",\n",
       "                    \"value\": 80,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(78,127,155)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u85aa\",\n",
       "                    \"value\": 80,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(69,105,110)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u8c03\\u85aa\",\n",
       "                    \"value\": 79,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(22,76,144)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u4e0a\\u5e02\\u516c\\u53f8\",\n",
       "                    \"value\": 78,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(18,32,108)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5546\\u4e1a\\u4fdd\\u9669\",\n",
       "                    \"value\": 75,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(52,24,106)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u524d\\u666f\",\n",
       "                    \"value\": 74,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(157,5,15)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u751f\\u65e5\\u4f1a\",\n",
       "                    \"value\": 71,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(33,98,24)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5e26\\u6559\",\n",
       "                    \"value\": 70,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(56,147,134)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5348\\u9910\",\n",
       "                    \"value\": 70,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(59,31,129)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u85aa\\u8d44\",\n",
       "                    \"value\": 70,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(130,5,14)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u9ad8\\u989d\",\n",
       "                    \"value\": 68,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(58,77,25)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5de5\\u4f5c\\u9910\",\n",
       "                    \"value\": 68,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(78,94,77)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u65c5\\u6e38\\u5305\",\n",
       "                    \"value\": 65,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(116,82,160)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u4e03\\u9669\",\n",
       "                    \"value\": 65,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(54,41,65)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u9910\\u8865\",\n",
       "                    \"value\": 60,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(65,96,63)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6fc0\\u52b1\",\n",
       "                    \"value\": 60,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(4,129,91)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u56fd\\u5bb6\",\n",
       "                    \"value\": 55,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(84,68,53)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u516b\\u5343\",\n",
       "                    \"value\": 53,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(3,52,28)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u591a\\u6b21\",\n",
       "                    \"value\": 52,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(136,12,68)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u8d2d\\u4e70\",\n",
       "                    \"value\": 50,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(62,77,81)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u4e09\\u9910\",\n",
       "                    \"value\": 50,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(40,66,108)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u98df\\u5802\",\n",
       "                    \"value\": 49,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(84,86,39)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u85aa\\u4e94\\u9669\",\n",
       "                    \"value\": 49,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(62,27,38)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u671d\\u4e5d\\u665a\",\n",
       "                    \"value\": 48,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(5,41,118)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u597d\\u4e94\\u9669\",\n",
       "                    \"value\": 46,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(32,45,68)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5206\\u7ea2\",\n",
       "                    \"value\": 44,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(38,10,13)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u4e2a\\u4eba\",\n",
       "                    \"value\": 44,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(92,17,76)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u529e\\u516c\",\n",
       "                    \"value\": 42,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(34,75,5)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u4e8c\\u91d1\",\n",
       "                    \"value\": 41,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(7,130,115)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u589e\\u503c\",\n",
       "                    \"value\": 40,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(131,122,64)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5927\\u5c0f\",\n",
       "                    \"value\": 39,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(99,35,138)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5e26\\u961f\",\n",
       "                    \"value\": 39,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(62,79,156)\"\n",
       "                        }\n",
       "                    }\n",
       "                }\n",
       "            ],\n",
       "            \"drawOutOfBound\": false,\n",
       "            \"textStyle\": {\n",
       "                \"emphasis\": {}\n",
       "            }\n",
       "        }\n",
       "    ],\n",
       "    \"legend\": [\n",
       "        {\n",
       "            \"data\": [],\n",
       "            \"selected\": {},\n",
       "            \"show\": true,\n",
       "            \"padding\": 5,\n",
       "            \"itemGap\": 10,\n",
       "            \"itemWidth\": 25,\n",
       "            \"itemHeight\": 14\n",
       "        }\n",
       "    ],\n",
       "    \"tooltip\": {\n",
       "        \"show\": true,\n",
       "        \"trigger\": \"item\",\n",
       "        \"triggerOn\": \"mousemove|click\",\n",
       "        \"axisPointer\": {\n",
       "            \"type\": \"line\"\n",
       "        },\n",
       "        \"showContent\": true,\n",
       "        \"alwaysShowContent\": false,\n",
       "        \"showDelay\": 0,\n",
       "        \"hideDelay\": 100,\n",
       "        \"textStyle\": {\n",
       "            \"fontSize\": 14\n",
       "        },\n",
       "        \"borderWidth\": 0,\n",
       "        \"padding\": 5\n",
       "    },\n",
       "    \"title\": [\n",
       "        {\n",
       "            \"text\": \"\\u798f\\u5229\\u5f85\\u9047\\u5206\\u6790\",\n",
       "            \"padding\": 5,\n",
       "            \"itemGap\": 10,\n",
       "            \"textStyle\": {\n",
       "                \"fontSize\": 23\n",
       "            }\n",
       "        }\n",
       "    ]\n",
       "};\n",
       "                chart_ed81a8c9c73b41478aa8fd3f8b4b068c.setOption(option_ed81a8c9c73b41478aa8fd3f8b4b068c);\n",
       "        });\n",
       "    </script>\n"
      ],
      "text/plain": [
       "<pyecharts.render.display.HTML at 0x22827acf4f0>"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 提取指定岗位的数据\n",
    "# 注意：岗位类别需要处理空字符问题，岗位类别后都有一个空格，要去除空格才能读出来\n",
    "# 去除空格\n",
    "A = df5['welfare'].str.strip()\n",
    "df5['welfare']= A\n",
    "\n",
    "# 拼接所有福利待遇类别\n",
    "string_data = ''\n",
    "for i in df5['welfare']:\n",
    "    string_data += str(i)\n",
    "\n",
    "\n",
    "# 2.文本预处理，去除各种标点符号，不然统计词频时会统计进去\n",
    "# 定义正则表达式匹配模式，其中的|代表或\n",
    "pattern = re.compile(u'\\t|\\n| |；|\\.|。|：|：\\.|-|:|\\d|;|、|，|\\)|\\(|\\?|\"')\n",
    "# 将符合模式的字符去除，re.sub代表替换，把符合pattern的替换为空\n",
    "string_data = re.sub(pattern, '', string_data)\n",
    "\n",
    "# 3.文本分词\n",
    "seg_list_exact = jieba.cut(string_data, cut_all=False)  # 精确模式分词\n",
    "# object_list  = list(seg_list_exact) # list()函数可以把可迭代对象转为列表\n",
    "\n",
    "# 4.运用过滤词表优化掉常用词，比如“的”这些词，不然统计词频时会统计进去\n",
    "object_list = []\n",
    "\n",
    "# 读取过滤词表\n",
    "with open('./remove_words.txt', 'r', encoding=\"utf-8\") as fp:\n",
    "    remove_words = fp.read().split()\n",
    "\n",
    "# 循环读出每个分词\n",
    "for word in seg_list_exact:\n",
    "    #看每个分词是否在常用词表中或结果是否为空或\\xa0不间断空白符，如果不是再追加\n",
    "    if word not in remove_words and word != ' ' and word != '\\xa0':\n",
    "        object_list.append(word)  # 分词追加到列表\n",
    "\n",
    "# 5.进行词频统计，使用pyecharts生成词云\n",
    "# 词频统计\n",
    "word_counts = collections.Counter(object_list)  # 对分词做词频统计\n",
    "word_counts_top = word_counts.most_common(100)  # 获取前100最高频的词\n",
    "\n",
    "#6.绘图\n",
    "c = (\n",
    "    WordCloud()\n",
    "    .add(\"福利待遇分析\", word_counts_top)#根据词频最高的词\n",
    "     .set_global_opts(\n",
    "        title_opts=opts.TitleOpts(\n",
    "            title=\"福利待遇分析\", title_textstyle_opts=opts.TextStyleOpts(font_size=23)\n",
    "        ),\n",
    "        tooltip_opts=opts.TooltipOpts(is_show=True),\n",
    "    \n",
    "     ))\n",
    "c.render_notebook()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.3"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
